package design.pattern.factory.simpleFactory;

/**
 * @description: 课程工厂
 * @author: liuzhangcheng
 **/
public class CourseFactory {

    public ICourse create(String name) {
        if (name == null || "".equals(name)) {
            return null;
        }
        switch (name) {
            case "java":
                return new JavaCourse();
            case "scala":
                return new ScalaCourse();
            default:
                return null;
        }
    }

//    public ICourse createByClassName(String className) {
//        if (className == null || "".equals(className)) {
//            return null;
//        }
//        try {
//            return (ICourse) Class.forName(className).newInstance();
//        } catch (Exception e) {
//            e.printStackTrace();
//            System.out.println(" className 实例异常");
//        }
//        return null;
//    }
//
//    public ICourse create(Class<? extends ICourse> clz) {
//        if (clz != null) {
//            try {
//                return clz.newInstance();
//            } catch (Exception e) {
//                e.printStackTrace();
//                System.out.println(" clz 实例异常");
//            }
//        }
//        return null;
//    }

}
